/*
*  Copyright 2019-2020 Zheng Jie
*
*  Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*  http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*/
package com.fzhucc.modules.ts.domain;

import com.fzhucc.base.BaseEntity;
import lombok.Data;
import cn.hutool.core.bean.BeanUtil;
import io.swagger.annotations.ApiModelProperty;
import cn.hutool.core.bean.copier.CopyOptions;
import javax.persistence.*;
import javax.validation.constraints.*;
import java.io.Serializable;
import java.sql.Timestamp;

/**
* @website https://eladmin.vip
* @description /
* @author yyg
* @date 2023-12-07
**/
@Entity
@Data
@Table(name="tb_ts_team")
public class TsTeam  extends BaseEntity implements  Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "`id`")
    @ApiModelProperty(value = "id")
    private Integer id;

    @Column(name = "`info_name`",nullable = false)
    @NotBlank
    @ApiModelProperty(value = "技术信息表名称")
    private String infoName;

    @Column(name = "`name1`")
    @ApiModelProperty(value = "队长名称")
    private String name1;

    @Column(name = "`name2`")
    @ApiModelProperty(value = "副队长名称")
    private String name2;

    @Column(name = "`education1`")
    @ApiModelProperty(value = "队长学历")
    private String education1;

    @Column(name = "delete_time")
    @ApiModelProperty(value = "假删除时间")
    private Timestamp deleteTime;

    @Column(name = "send_qz_time")
    @ApiModelProperty(value = "成功发送全总数据时间，发送成功才会记录")
    private Timestamp sendQzTime;

    @Column(name = "`education2`")
    @ApiModelProperty(value = "副队长学历")
    private String education2;

    @Column(name = "`title1`")
    @ApiModelProperty(value = "队长职称")
    private String title1;

    @Column(name = "`title2`")
    @ApiModelProperty(value = "副队长职称")
    private String title2;

    @Column(name = "`is_edit`",nullable = false)
    @ApiModelProperty(value = "是否允许编辑默认否")
    private Integer isEdit;

    @Column(name = "`type1`")
    @ApiModelProperty(value = "队长劳模工匠人才类型")
    private String type1;

    @Column(name = "`type2`")
    @ApiModelProperty(value = "副队长劳模工匠人才类型")
    private String type2;

    @Column(name = "`expertise1`")
    @ApiModelProperty(value = "队长专长")
    private String expertise1;

    @Column(name = "`expertise2`")
    @ApiModelProperty(value = "副队长专长")
    private String expertise2;

    @Column(name = "`phone1`")
    @ApiModelProperty(value = "队长联系电话")
    private String phone1;

    @Column(name = "`phone2`")
    @ApiModelProperty(value = "副队长联系电话")
    private String phone2;

    @Column(name = "`area`")
    @ApiModelProperty(value = "所在区域/系统")
    private String area;

    @Column(name = "`mans`")
    @ApiModelProperty(value = "人数")
    private String mans;

    @Column(name = "`pic`")
    @ApiModelProperty(value = "图片")
    private String pic;

    @Column(name = "`speciality1`")
    @ApiModelProperty(value = "队长专业")
    private String speciality1;

    @Column(name = "`speciality2`")
    @ApiModelProperty(value = "副队长专业")
    private String speciality2;

    @Column(name = "`industry_sector`",nullable = false)
    @NotBlank
    @ApiModelProperty(value = "行业领域")
    private String industrySector;

    @Column(name = "`details`")
    @ApiModelProperty(value = "服务能力简介")
    private String details;

    @Column(name = "`result`")
    @ApiModelProperty(value = "服务成果案例")
    private String result;

    @Column(name = "`sq_type`")
    @ApiModelProperty(value = "区县级区分")
    private String sqType;


    @Column(name = "`is_delete`",nullable = false)
    @NotNull
    @ApiModelProperty(value = "是否删除 默认否")
    private Integer isDelete;

    @Column(name = "`org_area`",nullable = false)
    @NotBlank
    @ApiModelProperty(value = "地区组织机构区分  字典 zqx_org_area")
    private String orgArea;

    @Column(name = "`audit_status`",nullable = false)
    @NotBlank
    @ApiModelProperty(value = "审核状态 默认待审核  zqx_audit_status")
    private String auditStatus;

    @Column(name = "`is_show`",nullable = false)
    @NotNull
    @ApiModelProperty(value = "是否小程序展示")
    private Integer isShow;

    @Column(name = "`sort`",nullable = false)
    @NotNull
    @ApiModelProperty(value = "排序")
    private Integer sort;

    @Column(name = "`user_id`",nullable = false)
    @NotNull
    @ApiModelProperty(value = "填报用户")
    private Long userId;

    @Column(name = "`hot`",nullable = false)
    @NotNull
    @ApiModelProperty(value = "热度")
    private Integer hot;

    @Column(name = "`show_pic`")
    @ApiModelProperty(value = "展示图片;分割")
    private String showPic;

    @Column(name = "`show_video`")
    @ApiModelProperty(value = "展示视频")
    private String showVideo;

    public void copy(TsTeam source){
        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
    }
}
